Profile picture

페어 프로그래밍(Pair Programming)이란

Amaranth2023년 02월 19일

짝 프로그래밍(Pair Programming, PP)이란

우테코에서 미션을 진행하면서 처음으로 짝 프로그래밍이라는 활동을 했다. 짝 프로그래밍이란 2명의 개발자가 1개의 컴퓨터를 사용해 개발하는 방법으로, 한 명이 드라이버(Driver), 다른 한 명이 네비게이터(Navigator)의 역할을 맡는다.

  • 드라이버 : 키보드와 마우스를 잡고 직접 코드를 작성하는 사람. 네비게이터의 요구에 대해 질문하고 제안한다.
  • 네비게이터 : 코드를 어떻게 짤 지 드라이버에게 제안하며 작업을 주도하는 사람.

위 역할은 주기적으로 바꿔주어야 한다. 타이머 시간을 기준으로 할 수도 있고, 나같은 경우 함수 구현을 기준으로 자리를 바꿔 앉았다.

장점

내가 2주간 페어 프로그래밍을 진행하면서 느낀 장점은 다음과 같다.

  1. 소프트 스킬 향상

최근 IT 분야에서 팀워크, 갈등해소, 소통 등의 소프트 스킬은 아주아주 중요시되고 있다. 이런 면에서 페어프로그래밍은 나의 하드/소프트 스킬을 골고루 키워줄 수 있는 좋은 활동이 아닐까 싶다.

머릿속 구상을 다른 사람이 이해하기 쉽게 설명하는 것은 생각보다 힘들다. 페어 프로그래밍을 통해 말하는 힘을 키울 수 있다.

코드스타일에 대해 의견 충돌이 발생했을 때 어떻게 풀어 나가야 할지 고민할 수 있고, 남들과 협업을 할 때 드러나는 나의 안 좋은 습관이 무엇인지 돌아볼 수도 있다.

조별과제와 달리 오랜시간 내내 붙어있으면서 대화하기 떄문에 피드백이 빠르다는 것도 장점이다.

  1. 새로운 지식 습득

꼭 기술적인 지식이 아니라도, 에러를 해결하는 방법이나 단축키 활용법과 같이 일반적인 학습 방법으론 터득하기 어려운 노하우를 얻을 수도 있다.

나의 경우 페어분을 통해 인텔리제이에서 제공하는 단축키들을 많이 알게 되어서 전보다 편하게 작업할 수 있게 되었다.

  1. 질 좋은 코드

코드를 한줄 한줄 작성할 때마다 페어와 의논을 하고 결정하기 때문에, 시간은 많이 걸리지만 그만큼 최선의 코드를 작성할 수 있다. 또 버그를 더 쉽게 발견할 수 있어 전체적인 완성도가 올라간다.

나는 이번 페어 프로그래밍 과정에서 새로운 디자인 패턴에 대해 많이 알게 되어서 이전 프리코스에서는 하지 못했던 새로운 시도를 할 수 있었다.


Loading script...